package mysql8学习.高级.第10章_索引优化与查询优化;

/**
 * 12.1 EXISTS和IN的区分
 * 问题:
 * 不太理解哪种情况下应该使用EXISTS,哪种情况应该用IN。
 * 选择的标准是看能否使用表的索引吗?
 * 回答:
 * 索引是个前提，其实选择与否还是要看表的大小。你可以将选择的标准理解为小表驱动大表。
 * 在这种方式下效率是最高的。
 *
 * //不相关子查询   以后面的表为基准  循环遍历前表
 * SELECT * FROM A WHERE cc IN (SELECT cc FROM B);
 *
 * //相关子查询  以前面的表为基准  循环遍历后表
 * SELECT * FROM A WHERE EXISTS (SELECT cc FROM B WHERE B.cc=A.cc);
 *
 * 上面两个  意思都一样  但是当A表大B表小是 用第一个
 *
 */
public class J1_EXISTS和IN的区分 {
}
